package org.apache.flink.configuration;

import org.apache.flink.annotation.Internal;

import static org.apache.flink.configuration.ConfigOptions.key;

/** TaskManager options that are not meant to be used by the user. */
@Internal
public class TaskManagerOptionsInternal {

    public static final ConfigOption<String> TASK_MANAGER_RESOURCE_ID_METADATA =
            key("internal.taskmanager.resource-id.metadata")
                    .stringType()
                    .noDefaultValue()
                    .withDescription(
                            "**DO NOT USE** The metadata of TaskManager's ResourceID to be used for logging.");

    /**
     * The ID of the node where the TaskManager is located on. In Yarn and Native Kubernetes mode,
     * this option will be set by resource manager when launch a container for the task executor. In
     * other modes, this option will not be set. This option is only used internally.
     */
    public static final ConfigOption<String> PROVIDER_MANAGER_NODE_ID =
            key("internal.providermanager.node-id")
                    .stringType()
                    .noDefaultValue()
                    .withDescription("ID of the node where the TaskManager is located on.");
}
